Improving the Usefulness of Alerts Generated by Automated Static Analysis Tools
نویسندگان
چکیده
Static analysis tools are programs that analyze software without executing it. They can be simple style checkers or follow intricate rules to efficiently find problems often overlooked by developers. Unfortunately, the alerts generated by those tools are not always correct. The high number of false positives has been found to be one of the major reasons why such tools have not been widely adopted. One approach to improve these tools is to post-process the generated alerts and only report actionable ones, i.e. true positives which will be acted upon by the developers. In this work, we evaluate several machine-learning classifiers that use historic alert data to classify new alerts as actionable or not. We build a framework called Autobugs to collect the necessary information. It runs a static analysis tool on past revisions of a software project, saves the generated alerts and computes the lifetime-based actionability label. This is then used to train a linear support vector machine (SVM), a nonlinear SVM and a decision tree on three similar open-source forum-software projects written in PHP. We evaluate each classifiers for each project individually as well as the application of a trained model on a different project. Based on the results, we constructed an additional classifier, which only takes into account the lifetime of an alert, classifying younger ones as actionable. It outperforms the other algorithms for our sample software-projects.
منابع مشابه
A Systematic Model Building Process for Predicting
HECKMAN, SARAH SMITH. A Systematic Model Building Process for Predicting Actionable Static Analysis Alerts. (Under the direction of Laurie Williams). Automated static analysis tools can identify potential source code anomalies, like null pointers, buffer overflows, and unclosed streams that could lead to field failures. These anomalies, which we call alerts, require inspection by a developer to...
متن کاملImproving the Identification of Actual Input Manipulation Vulnerabilities
This paper proposes an automated, white-box security testing framework to identify true input manipulation vulnerabilities that can reduce warnings generated by static analysis tools or automated black-box testing tools.
متن کاملA systematic literature review of actionable alert identification techniques for automated static code analysis
Context: Automated static analysis (ASA) identifies potential source code anomalies early in the software development lifecycle that could lead to field failures. Excessive alert generation and a large proportion of unimportant or incorrect alerts (unactionable alerts) may cause developers to reject the use of ASA. Techniques that identify anomalies important enough for developers to fix (actio...
متن کاملAn Efficient Extension of Network Simplex Algorithm
In this paper, an efficient extension of network simplex algorithm is presented. In static scheduling problem, where there is no change in situation, the challenge is that the large problems can be solved in a short time. In this paper, the Static Scheduling problem of Automated Guided Vehicles in container terminal is solved by Network Simplex Algorithm (NSA) and NSA+, which extended the stand...
متن کاملNonlinear inelastic static analysis of plane frames with numerically generated tangent stiffness matrices
For the nonlinear analysis of structures using the well known Newton-Raphson Method, the tangent stiffness matrices of the elements must be constructed in each iteration. Due to the high expense required to find the exact tangent stiffness matrices, researchers have developed novel innovations into the Newton-Raphson method to reduce the cost and time required by the analysis. In this paper, a ...
متن کامل